#ifndef RESERVATION_H
#define RESERVATION_H

#include <string>
#include <sstream>

#include <Qt\qlabel.h>
#include <Qt\qwidget.h>
#include <Qt\qcheckbox.h>
#include <Qt\qboxlayout.h>
#include <Qt\qdatetimeedit.h>

#include "Consultant.h"
#include "Hotel.h"

class Reservation : public QWidget{
	Q_OBJECT
private :
	Consultant* consultant;

	QCheckBox* checkBox;

	QDateEdit* arrival;
	QDateEdit* departure;

	Reservation(const Reservation&) {}
	Reservation(void) : consultant(0), checkBox(0), arrival(0), departure(0) {}

public :
	Reservation(Consultant* _consultant, const QDate& _arrival, const QDate& _departure);
	
	virtual ~Reservation(void){
		//TODO
	}

	Consultant* getConsultant(void) const { return consultant; }
	QCheckBox* getCheckBox(void) const { return checkBox; }
	QDateEdit* getArrival(void) const { return arrival; }
	QDateEdit* getDeparture(void) const { return departure; }

	void setConsultant(Consultant* _consultant) { consultant = _consultant; }
	void setArrival(QDateEdit* _arrival) { arrival = _arrival; }
	void setDeparture(QDateEdit* _departure) { departure = _departure; }

	std::string toString(void) const;
};

#endif //RESERVATION_H